Namespaces

Types in MathNet.Numerics.LinearAlgebra.Solvers

Type IPreconditioner<T>

Namespace MathNet.Numerics.LinearAlgebra.Solvers

The base interface for preconditioner classes.

Preconditioners are used by iterative solvers to improve the convergence speed of the solving process. Increase in convergence speed is related to the number of iterations necessary to get a converged solution. So while in general the use of a preconditioner means that the iterative solver will perform fewer iterations it does not guarantee that the actual solution time decreases given that some preconditioners can be expensive to setup and run.

Note that in general changes to the matrix will invalidate the preconditioner if the changes occur after creating the preconditioner.

Methods

Public Methods

void Approximate(Vector<T> rhs, Vector<T> lhs)

Approximates the solution to the matrix equation .
Parameters
Vector<T> rhs

The right hand side vector.

Vector<T> lhs

The left hand side vector. Also known as the result vector.

void Initialize(Matrix<T> matrix)

Initializes the preconditioner and loads the internal data structures.
Parameters
Matrix<T> matrix

The matrix on which the preconditioner is based.